summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_texture_cache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/gl_texture_cache.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index 9cafd2983..9ca544ec9 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -554,7 +554,14 @@ void TextureCacheRuntime::Finish() {
}
StagingBufferMap TextureCacheRuntime::UploadStagingBuffer(size_t size) {
- return staging_buffer_pool.RequestUploadBuffer(size);
+ static StagingBufferMap result;
+ static size_t last_size = 0;
+ if (size == last_size) {
+ return result;
+ }
+ last_size = size;
+ result = staging_buffer_pool.RequestUploadBuffer(size);
+ return result;
}
StagingBufferMap TextureCacheRuntime::DownloadStagingBuffer(size_t size) {